#使用二位列表进行保存数据 n行6列，第0行作为表头，分别为ID、类别、账户、金额、时间、说明
#ID从1开始
list = [['ID','类别','账户','金额','时间','说明','flag'],
        [1,'吃饭支出','余额',12.0,'2020.10.1','',0]]
#如果需要更改将需要更改的数据保存到一个新建的列表中，直接将该列表作为元素插入到总表中

user={'张三':123,'李四':1234}
manage={'admin':123}
#登录函数
def login(name,password):
    for i in user.keys():
        if name == i and password == user[i]:
            return 1 #普通用户登录成功
    for i in manage.keys():
        if name == i and password == manage[i]:
            return 2 #管理员登录成功
    return -1 #登陆失败

#1.添加账务
def addAccount(type,method,money:float,date,comment="",data=list):
    record = [len(data),type,method,money,date,comment,0] #一条数据
    data.append(record)
#     print(data) #测试数据是否插入成功
# addAccount("1",'2',3.0,'4','5')#测试数据是否插入成功

#2.编辑账务
def editAccount(ID:int,type,method,money:float,date,comment="",data=list):
    data[ID] = [ID,type,method,money,date,comment,0]
    print(data[ID])
# editAccount(1,"chifan","xianjin",100.0,"today","")

""""
3.删除账务,一次删除一条
"""
def delAccount(*id,data = list):
    for i in range(1,len(data)):#不要把表头删了，从1开始
        if data[i][0] in id:
            data[i][len(data[i])-1] = 1 # 1 标记删除，0 未删除
            print("删除成功")
            break
# delAccount(1)
#4.查询账务
#按条件查询
"""
    typ:查询的类别，用于标识查询的条件,值为对应的下标（0-5）
    tiao:输入内容，根据此内容查找，不需要完全匹配
"""
def selectBy(typ,tiao,data = list):

    for i in data[0][:6]:#输出第0行的每个元素，即表头
        print(f'{i:<15}',end='')
    print()

    for i in data[1:]: #遍历数组
        if i[6] == 1:  #已删除
            continue

        if typ == 0: #输入的查询内容是id
            tiao = int(tiao)
            for j in i[:6]:
                print(f'{j:<15}',end='')
            print()
        elif typ == 3:#输入的查询内容是 金额
            tiao = float(tiao)
            for j in i[:6]:
                print(f'{j:<15}',end='')
            print()
        else:
            if tiao in i[typ]:  #如果符合查询条件
                for j in i[:6]:
                    print(f'{j:<15}',end='')
                print()
# selectBy(4,'2020')

#查询所有
def selectAll(data=list):
    for i in data:
        if i[6] == 1:
            continue
        for j in i[:6]:
            print(f'{j:<15}',end="")
        print()
# selectAll()